home *** CD-ROM | disk | FTP | other *** search
/ Commodore Free 20 / Commodore_Free_Issue_20_2008_Commodore_Computer_Club.d64 / t.iv nightlord1 < prev    next >
Text File  |  2023-02-26  |  9KB  |  280 lines

  1. u
  2.  
  3. Interview with Nightlord Commodore 64
  4. programmer
  5.  
  6. COMMODORE FREE:  Please introduce
  7. yourself to our readers
  8.  
  9. NIGHTLORD: My name is Bilgem Cakir &
  10. I am more widely known as Nightlord/
  11. Glance. I am a coder mostly and I
  12. occasionally do graphics & music. I
  13. also write for various publications
  14. from time to time.
  15.  
  16. CF: Should we call you Nightlord?,
  17. where did the handle come from?
  18.  
  19. NL: Yep you can call me Nightlord or
  20. Bilgem whichever you like. The handle
  21. comes from my teenage years where I
  22. was trying to come up with a handle
  23. that had to do with night & darkness
  24. (since I mostly coded at nights) &
  25. with a powerful title (possibly
  26. because of low self esteem :) )
  27.  
  28. CF: You were a coder with Glance &
  29. Civitas can you tell our reader about
  30. these groups?
  31.  
  32. NL: Glance is a relatively new group
  33. that released its debut demo called
  34. Living in 2005.
  35.  
  36.  I think it is one of the few (few
  37. meaning maybe 10) active groups in the
  38. C64 demo scene that has a potential to
  39. do some serious technical demos.
  40. Unfortunately we have somewhat
  41. disappointed ourselves & our friends &
  42. in the scene by not releasing our 2nd
  43. demo, but hopefully we will do that
  44. soon enough. It is a group made of
  45. sceners that had been active in other
  46. groups before. My fellow group mates
  47. are Arcane (gfx), Datura (gfx), Endo
  48. (code), Hydrogen (gfx, msx) & Skate
  49. (code). There is also a surprise
  50. addition to our team recently but we
  51. have decided to not announce it
  52. officially until we release our demo
  53. in which he takes part (ahhh the games
  54. we play :) ). So I will not tell who
  55. he is but I send my greetings to him
  56. as well.
  57.  
  58. Civitas is a group that I used to be
  59. active in during 2003 - 2005 (I
  60. released three demos & a few diskmag
  61. articles). Unfortunately in the recent
  62. years I failed to keep in touch with
  63. them. I do not know what they are
  64. doing nowadays or their most recent
  65. member status. But greetings to my
  66. good friend Zeitgeist over there
  67.  
  68. CF: What is your first experience with
  69. Commodore machines
  70.  
  71. NL: Hmm I know this part tends to be
  72. boring in the interviews & I know you
  73. have to ask it anyway :) So let me keep
  74. it short by saying, I got my C64 back
  75. in 89. The first game I played was
  76. Commando. After about a week I started
  77. coding BASIC.
  78.  
  79. CF: Are you still an active Coder,
  80. what has been your most recent work?
  81.  
  82. NL: I would like to call my self an
  83. active coder yes :) Even though in the
  84. demo scene I do not consider someone
  85. active unless they have released
  86. something in the last 2 years & the
  87. very fact that you are asking this
  88. question makes it harder for me to
  89. call myself active :) My most recent
  90. "released" work is the Living demo by
  91. Glance (2005). In the meantime I was
  92. a part of the demo review diskmag
  93. called "Nordic Scene Review" but that
  94. is not the same thing as coding. My
  95. most recent "close to being released"
  96. work is the C=++ or cepp compiler
  97. project. I hope to release it at the
  98. CommVex 2008. Other than that there
  99. are off course many unfinished
  100. progects or ideas (and even a few
  101. games) in my hard drives waiting to be
  102. released. Just like most of the other
  103. coders out there.
  104.  
  105. CF. What is your most technical
  106. achievement with the C64?
  107.  
  108. NL: Hmm I think I really do not have
  109. anything big enough to call a big
  110. technical achievement, but I guess I
  111. have three smaller technical
  112. achievements that I feel good about.
  113. One of them is the "moving light
  114. source vector" part in Mist/Civitas
  115. (2004). I have not seen that effect in
  116. any other demo in C64 so I think it is
  117. an unpopular world first :) (not that
  118. it is too hard to do or anything). The
  119. second one is the "doom" part in
  120. Living/Glance (2005) a coder I respect
  121. a lot (Oswald/Resource) called it "the
  122. best doom effect" in a comment &
  123. that is an achievement for me. The
  124. third one is "3d dot torus" in
  125. Living/Glance which happens to be the
  126. world record in real time 3d dots
  127. effects which another one of my
  128. favourite coders (HCL/Booze Design)
  129. said he jumped when he saw (Again a
  130. big moment for me to read him saying
  131. that).
  132.  
  133. I know these "achievements" sound good
  134. when you read them in text but believe
  135. me they are not that good. Each one of
  136. these effects could be produced much
  137. better/cleaner/faster.
  138.  
  139. I also have a managerial achievement
  140. :) In 2005 I decided to go to Floppy
  141. party in Sweden & had 10 days to
  142. make a demo. I had a very very careful
  143. planning & implementation & was able to
  144. complete the demo single handedly just
  145. about 2 hrs before the deadline :) It
  146. turned out to be an OK demo too. Even
  147. though it is not a huge success I never
  148. ever matched the efficiency level I had
  149. at that project in any other project.
  150.  
  151. CF. Do you code for any other
  152. machines, Commodore or non commodore?
  153.  
  154. NL: Well, at work in past I coded for
  155. a zillion different embedded cores for
  156. different consumer products (mostly
  157. digital TV receivers in UK). I also
  158. coded for PC games professionally &
  159. nowadays I code in the Windows empire
  160. (I duck here from incoming rotten
  161. tomatoes from Commodore fans :) )
  162.  
  163. CF. What exactly is C= ++ is this a
  164. Commodore extension of the C++
  165. programming language?
  166.  
  167. NL: Well C=++ (you can read it as
  168. Commodore plus plus) is two things. A
  169. language & a compiler for it. The
  170. Language part is a carefully selected
  171. subset of the C++ language with a few
  172. minor Commodore specific extensions.
  173. It is somewhat hard to explain the
  174. language to people who do not know the
  175. C++ language. In short, it is a
  176. language that has the same syntax as
  177. C++ but supports less features. I
  178. tried to select the subset so that it
  179. covers the most used aspects of the
  180. language (like classes with
  181. constructors, destructors, public &
  182. private methods & attributes, &
  183. new/delete) & left out the parts
  184. that would be slow or memory
  185. inefficient to implement on C-64 (like
  186. templates & inheritence are left out).
  187.  
  188. The notes inside the parentheses in
  189. the previous sentence are intended for
  190. those who know at least a little about
  191. object oriented languages (C++, java,
  192. C#). The main goal of the language is
  193. to enable programmers to write logic
  194. intensive object oriented parts of
  195. their code in C++ while using assembly
  196. to optimize the most performance
  197. critical parts. The language is
  198. designed to be easily integrated with
  199. assembly. You can call C++ code from
  200. you assembly & call assembly
  201. routines from your C++ code easily.
  202.  
  203. CF. How does C++ Differ from the C
  204. programming language?
  205.  
  206. NL; C++ was originally designed to add
  207. Object Orientation related features on
  208. top of C language & was aiming to be
  209. still pretty fast by being close to
  210. hardware. It mostly managed to achieve
  211. this aim & is the language of choice
  212. in most of the PC software that is
  213. required to be fast (like games for
  214. example). Today it is mostly considered
  215. to be a pretty low-level (meaning close
  216. to hardware) language compared to the
  217. .NET languages or Java. Unfortunately
  218. it still is a pretty high-level
  219. language for 6502 CPU. That's why I had
  220. to cut some of its features while
  221. defining C=++.
  222.  
  223. CF. Why was there a need for a C=
  224. version of C++ language
  225.  
  226. NL: I ran into the need while trying
  227. to make a strategy game for Commodore
  228. about 3 years ago. For any serious
  229. piece of software in C64 for many
  230. years, almost only choice was the
  231. assembly language. For most things
  232. anything else will be too slow. But
  233. even though assembler is suitable for
  234. efficient graphic algorithms or cycle
  235. exact raster code, it is not suitable
  236. for code that has complex logic &
  237. objects with complex dynamic
  238. lifetimes. This happens for example in
  239. a strategy game where you create many
  240. buildings & units that live, do stuff
  241. for sometime & die. It is hell to try
  242. to manage that in assembly. These kinds
  243. of stuff are more suitable for higher
  244. level Object Oriented languages.
  245.  
  246. In recent years there have been
  247. attempts at making higher level (but
  248. not Object Oriented) languages. There
  249. is the cc65 C compiler, & Slang
  250. language for instance. I have not used
  251. cc65 but it is used in some serious
  252. projects so it must be good. I have
  253. not used Slang either mostly because
  254. it does not seem to have the OO
  255. properties I required. Plus I had been
  256. looking for an opportunity to try my
  257. hands on making a compiler for some
  258. time. When all these conditions came
  259. together I decided to make my own OO
  260. C++ compiler.
  261.  
  262. CF. Does the language run natively on
  263. a C64 or does it run on other hardware
  264. to produce Commodore Code?
  265.  
  266. NL It runs on Windows or Linux PCs.
  267. Your source files are all on a PC &
  268. you compile them with cepp (The C=++
  269. compiler) that gives out C64 assembly
  270. files (still on PC). Then you assemble
  271. them with Acme cross-assembler by
  272. Marco Baye. Then you get a c64 binary
  273. .prg file which you can run on a real
  274. C64. So this tool is designed to be
  275. used in cross development scenarios.
  276.  
  277.   CONTINUED IN PART 2
  278.  
  279.  
  280.